home *** CD-ROM | disk | FTP | other *** search
/ Amoszine 9 / Amoszine 9 (Disk 3 of 3).adf / Mikes_TMH_Source.lha / ASL.Amos / ASL.amosSourceCode
AMOS Source Code  |  1995-08-28  |  5KB  |  150 lines

  1. '  
  2. ' ****************************   
  3. ' *    ASL File Requester    *   
  4. ' *  From AMOS without any   * 
  5. ' *   expensive Extensions   * 
  6. ' **************************** 
  7. '
  8. '  
  9. ' By Mike Richmond, based on a routine by John.A.Kinsella
  10. '
  11. ' Needs : `ASL.Library' in LIBS: and `Requestfile' in C: 
  12. ' `Requestfile' is a C command supplied with AmigaDOS v2.1 and above,
  13. ' copy it from Workbench3.O:C to Amos's C drawer if noy running from 
  14. ' hard disk.  Send me an A12OO + hard disk if you like this proc.
  15. '
  16. ' Only kidding, but you can if you like! 
  17. '
  18. ' You have to check yourself if cancel was pressed (Length of temp file=0) 
  19. '
  20. '
  21. ' Version 1.00   
  22. '
  23. ' This procedure supports all of Requestfile's parameters, which are explained 
  24. ' below for non CLI-o'philes.  
  25. '
  26. Screen Open 0,640,200,2,Hires : Curs Off : Flash Off : Cls 0
  27. '
  28. '
  29. ' Examples:
  30. '
  31. ' 1: Basic file requester
  32. '
  33. Amos To Back 
  34. _FILEREQ["SYS:","","#?","Choose a file","","","","",0,0,0]
  35. FILE$=Param$
  36. Amos To Front 
  37. _SHOWFILE[FILE$]
  38. '
  39. '
  40. ' 2: Ignore icon files 
  41. '
  42. Amos To Back 
  43. _FILEREQ["","","","No Icons Shown!","Choose","Get Lost","","",0,0,True]
  44. FILE$=Param$
  45. Amos To Front 
  46. _SHOWFILE[FILE$]
  47. '
  48. '
  49. ' 3: Just drawers
  50. '
  51. Amos To Back 
  52. _FILEREQ["","","","Choose a drawer","FISH","CHIPS","","",0,True,0]
  53. FILE$=Param$
  54. Amos To Front 
  55. _SHOWFILE[FILE$]
  56. '
  57. '
  58. '
  59. ' **************************************************************************** 
  60. '
  61. '
  62. Procedure _FILEREQ[_DRAWER$,_FILE$,_PATTERN$,_TITLE$,_YES$,_NO$,_ACCPAT$,_REJPAT$,_MULTISELECT,_DRAWERSONLY,_NOICONS]
  63.    '
  64.    ' Procedure : ASL File Requester v1.OO 
  65.    ' Author    : Mike Richmond
  66.    ' Comments  : Don't forget to send AMOS to the back before using this
  67.    '             procedure, and to return it to the front when finished.
  68.    '
  69.    '             Requires LIBS:ASL.Library and C:Requestfile
  70.    '
  71.    '             You will have to write your own routine to separate files
  72.    '             from drawers, and multi files etc. 
  73.    '
  74.    ' This is what it all menas... 
  75.    '
  76.    ' _DRAWER$ is the drawer to initially display (i.e. the current drawer)
  77.    '
  78.    ' _FILE$ is the file already in the button (to re-load the same file, for example) 
  79.    '
  80.    ' _PATTERN$ is the search pattern, in standard AMIGADOS format 
  81.    '            (e.g. #?,MOD.#?,??O?,#?|~(#?.info)  
  82.    '           use the | character to separate each part
  83.    '            [BUY CLINDEX v2 FROM F1 L/W FOR MORE INFO ON PATTERN MATCHING]
  84.    '
  85.    ' _TITLE$ is the title of the file reqester
  86.    '
  87.    ' _YES$ is the text to be displayed on the 'Okay' button 
  88.    '
  89.    ' _NO$ is the text to be displayed on the 'Cancel' button
  90.    '
  91.    ' _ACCPAT$ is the pattern(s) which will be displayed by the requester, so    
  92.    '             if the user enters the file as, say "MOD.#?", only MOD.xxx 
  93.    '             files will be displayed. 
  94.    '
  95.    ' _REJPAT$ is the pattern(s) that aren't allowed 
  96.    '
  97.    ' _MULTISELECT : If this is set to True (-1) then the user can select
  98.    '                several files by holding Shift and clicking on them 
  99.    '
  100.    ' _DRAWERSONLY : If this is set to True (-1), only drawers are displayed 
  101.    '                (e.g. for selecting the default drawer to load files from)
  102.    '
  103.    ' _NOICONS : If this is True (-1), all .info files are hidden.  It is the
  104.    '            same as putting _REJPAT$ as "#?.info" 
  105.    '
  106.    '
  107.    ' First, the command line is built up, depending on which options have 
  108.    ' been selected.   
  109.    '
  110.    ' CHR$(34) is the ASCII code for the " character 
  111.    '
  112.    A$="C:REQUESTFILE >RAM:AMOS-FILE"
  113.    If _DRAWER$<>"" : A$=A$+" DRAWER="+Chr$(34)+_DRAWER$+Chr$(34) : End If 
  114.    If _FILE$<>"" : A$=A$+" FILE="+Chr$(34)+_FILE$+Chr$(34) : End If 
  115.    If _PATTERN$<>"" : A$=A$+" PATTERN="+Chr$(34)+_PATTERN$+Chr$(34) : End If 
  116.    If _TITLE$<>"" : A$=A$+" TITLE="+Chr$(34)+_TITLE$+Chr$(34) : End If 
  117.    If _YES$<>"" : A$=A$+" POSITIVE="+Chr$(34)+_YES$+Chr$(34) : End If 
  118.    If _NO$<>"" : A$=A$+" NEGATIVE="+Chr$(34)+_NO$+Chr$(34) : End If 
  119.    If _ACCPAT$<>"" : A$=A$+" ACCEPTPATTERN="+Chr$(34)+_ACCPAT$+Chr$(34) : End If 
  120.    If _REJPAT$<>"" : A$=A$+" REJECTPATTERN="+Chr$(34)+_REJPAT$+Chr$(34) : End If 
  121.    If _MULTISELECT=True : A$=A$+" MULTISELECT" : End If 
  122.    If _DRAWERSONLY=True : A$=A$+" DRAWERSONLY" : End If 
  123.    If _NOICONS=True : A$=A$+" NOICONS" : End If 
  124.    '
  125.    Exec A$
  126.    '
  127.    ' If a file was selected, copy it into FILE$, otherwise load FILE$ with
  128.    ' a blank string.
  129.    '
  130.    If Exist("RAM:AMOS-FILE")
  131.       Open In 1,"RAM:AMOS-File"
  132.       FILE$=Input$(1,Lof(1))
  133.       Close 1
  134.    Else 
  135.       FILE$=""
  136.    End If 
  137.    '
  138.    Kill "RAM:Amos-file"
  139.    '
  140.    I=Instr(FILE$,Chr$(34),2)
  141.    FIL$=Mid$(FILE$,2,I-2)
  142.    '
  143. End Proc[FIL$]
  144. '
  145. Procedure _SHOWFILE[FILE$]
  146.    Print FILE$
  147.    Print "Left mouse to continue..."
  148.    Print 
  149.    Repeat : Multi Wait : Until Mouse Key<>0
  150. End Proc